package br.com.sbc.managedBean;

import java.util.List;
import java.util.Map;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

import br.com.sbc.ejb.entity.Assunto;
import br.com.sbc.sessionBean.AssuntoSessionBean;
import br.com.sbc.sessionBean.PostagemSessionBean;

@ManagedBean
@RequestScoped
public class BaseDeConhecimentoManagedBean extends BaseManagedBean {

	@EJB
	private AssuntoSessionBean assuntoSessionBean;
	@EJB
	private PostagemSessionBean postagemSessionBean;
	private Assunto assunto = new Assunto();
	private List<Assunto> listaAssuntos;
	
	
	public BaseDeConhecimentoManagedBean() {
		super();
	}
	
	@PostConstruct
	public void init(){

		if (assunto == null) {
			 assunto = new Assunto();
		}
		
		listaAssuntos = listarAssuntos();
	}
	public List<Assunto> listarAssuntos() {
		listaAssuntos = assuntoSessionBean.consultaTodosAssuntos();
		return listaAssuntos;
	}
	
	public String listaPostagens() {
		Map<String,Object> requestMap = FacesContext.getCurrentInstance().getExternalContext().getRequestMap();
		requestMap.put("assuntoSelecionado",assunto);
		return "/dinamic/pages/baseDeConhecimento/postagensDoAssunto";
	}
	
	public Long contagemAssunto(Long idAssunto){
		return postagemSessionBean.contadorPorAssunto(idAssunto);
	}
/*================== GETTER'S AND SETTER'S ===================*/
	


	public Assunto getAssunto() {
		return assunto;
	}

	public void setAssunto(Assunto assunto) {
		this.assunto = assunto;
	}



	public List<Assunto> getListaAssuntos() {
		return listaAssuntos;
	}
	public void setListaAssuntos(List<Assunto> listaAssuntos) {
		this.listaAssuntos = listaAssuntos;
	}




}

